package jdbc;

import java.sql.*;

/**
 * @Author admin
 * @Date 2019/4/26 8:13
 * JDBC操作的工具类：
 * 抽取出增删改查操作的一些重复代码：获取数据库连接 2) 关闭
 */
public class JDBCUtils {
    /*static 静态的，修饰变量，方法。不需要创建 对象，直接通过类名调用
     *修饰代码块：表示这段代码随着类的加载而加载，且只执行一次
     *  */


    static Connection conn = null;

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/ykc";
            String user="root";
            String password="123456";
            conn = DriverManager.getConnection(url, user, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() {
        return conn;
    }

    public static void close(Connection conn, PreparedStatement pstmt) {
        try {
            if (conn != null) {
                conn.close();
            }
            if (pstmt != null) {
                pstmt.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 针对查询的关闭
     */
    public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) {
        close(conn, pstmt);
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
